from django import forms

from demo.models import Classes, Label


class ArticleForms(forms.Form):
    title = forms.CharField(
        label='文章标题',
        max_length=30,
        min_length=2,
        error_messages={
            'max_length': '长度大于30',
            'min_length': '长度小于2',
        }
    )

    desc = forms.CharField(
        label='文章简介',
        max_length=100,
        min_length=10,
        error_messages={
            'max_length': '长度大于100',
            'min_length': '长度小于10',
        }
    )

    content = forms.CharField(
        label='文章内容',
        # 声明是文本类型
        widget=forms.Textarea
    )

    # 图片地址用的是文件字段
    cover = forms.FileField(
        label='封面图'
    )

    # 分类是让用户选择的
    classes = forms.ModelChoiceField(
        label='分类',
        # 查询集
        queryset=Classes.objects.all(),
        empty_label=None
    )

    # 标签 多对多表关系 多选字段
    label = forms.ModelMultipleChoiceField(
        label= '标签',
        queryset= Label.objects.all()
    )